Systems and methods for improved portal development

ABSTRACT

A portal can be generated using a portal designer allowing dragging and dropping of components into a display. The dragging and dropping of components can initiate the update of a display, such as a design view and/or a hierarchal display and the update of a portal file. The portal file can be used to generate the portal. The portal designer can include a property editor window for editing a selected component

PRIORITY CLAIM

[0001] The present application claims the benefit of the filing date ofU.S. Provisional Patent Application, SYSTEMS AND METHODS FOR IMPROVEDPORTAL DEVELOPMENT, No. 60/450,389 Attorney Docket No. BEAS-011407US0,filed Feb. 27, 2003, incorporated by reference herein.

COPYRIGHT NOTICE

[0002] A portion of the disclosure of this patent document containsmaterial which is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdocument or the patent disclosure, as it appears in the Patent andTrademark Office patent file or records, but otherwise reserves allcopyright rights whatsoever.

FIELD OF THE INVENTION

[0003] The present invention is directed to technology for generatingportals.

BACKGROUND

[0004] Portals can provide access to information networks and/or sets ofservices through the World Wide Web and other computer networks. Portalscan provide a single point of access to data and applications, makingthem valuable to developers, businesses, and consumers alike. A portalcan present a unified and personalized view of enterprise information toemployees, customers, and business partners. In many implementations,portal applications can include web application views designed as aportal.

[0005] Portals are capable of presenting multiple web application viewswithin a single web interface. In addition to regular web content thatcan appear in a portal, portals provide the ability to display portlets(self-contained applications or content) in a single web interface.Portals can also support multiple pages with menu-based or customnavigation for accessing the individualized content and portlets foreach page.

[0006] The generation of portals, however, can be an involved andcumbersome process that requires considerable development time andeffort. In order to create a working portal, an application developermay have to create: a portal definition such as a file includingExtensible Markup Language (“XML”); portlet definition files for anyportlets associated with the portal; java server pages (“JSPs”); webapplication descriptors; images such as graphics interchange formatfiles (“GIFs”); deployment descriptors, configuration files, the javaarchive files (“JAR”) that contain the logic and formatting instructionsfor the portal application; and any other files necessary for thedesired portal application. In addition, the developer may have todetermine the appropriate directories in which to place each file andthen manually move files to appropriate directories.

BRIEF DESCRIPTION OF THE FIGURES

[0007]FIG. 1 is a high level block diagram of various softwarecomponents of a computer network supporting a configurable electronicbusiness system in accordance with an embodiment of the presentinvention.

[0008]FIG. 2 illustrates a sample screen shot of an applicationdisplayed to a client in a portal-style presentation employing portlets.

[0009]FIGS. 3A and 3B is are flowcharts of methods using a graphicaluser interface to facilitate the generation of portals in accordancewith embodiments of the present invention.

[0010]FIG. 4 illustrates a portlet designer of one embodiment of thepresent invention.

[0011]FIGS. 5A and 5B illustrate the dragging and dropping operation ina portal designer of one embodiment of the present invention.

[0012]FIGS. 6A and 6B illustrate the updating of the document structurewindow on one embodiment of the present invention as a result of a dragand drop operation.

[0013]FIGS. 7A and 7B illustrate a constructed portal page before andafter the drag and drop operation of FIGS. 5A and 5B.

[0014]FIG. 8 is a flowchart of a method using a hierarchical display tofacilitate the generation of portals in accordance with an embodiment ofthe present invention.

[0015]FIG. 9 illustrates an administration portal.

DETAILED DESCRIPTION

[0016]FIG. 1 is a high level block diagram of various softwarecomponents of a computer network supporting a configurable electronicbusiness system in accordance with the present invention.

[0017] Business platform 130 is an electronic business platform, such asWEBLOGIC PLATFORM™ 8.1 available from BEA Systems, Inc. of San Jose,Calif. Business platform 130 is capable of hosting one or moreenterprise applications 140 which provide services to client 150 overnetwork 110. Enterprise application 140 can include one or more webapplications 145. In one embodiment, business platform 130 isimplemented on a web server which implements JAVA™ 2 Platform,Enterprise Edition (J2EE), available from Sun Microsystems, Inc. ofSanta Clara, Calif.

[0018] Integrated design environment 120 is a software component capableof configuring business platform 130. A portal designer 125, includinggraphical user interface 127, is integrated into integrated designenvironment 120 and provides for drag-and-drop setup of portals. Theportal designer 125 can be used to produce a portal description. Theportal description defines a portal and can be used to construct portalviews. The portal description can be a portal file, such as a portalfile containing portal XML. The portal XML and portal components can bedeployed as part of a web application, such as web application 145.

[0019] Administration tool 160 can be used to create modifieddatabase-based portals. The administration tool 160 can include a portalmanager 162 including graphical user interface 164. The administrationtool 160 can be used to construct a portal, with an associated portaldescription, for a user or group of users. The portal description can bemodified portal XML stored in a database. In one embodiment, a portalfile is obtained by the administration tool, modifications can be madefor a user or group of users and the modified portal description can bestored as portal XML in a database. The modified portal XML and portalcomponents can be deployed as part of a web application, such as webapplication 145. The administration tool 160 can be implemented withadministration web application 147.

[0020] The client 150 can access the portal across network 110 by usinga portal URL. The portal description and components are used toconstruct the portal for the client 150. In various embodiments, portaldesigner 125 and administration tool 160 facilitate the generation ofportals and/or portlets and the integration of the same.

[0021] In various embodiments, data can be synchronized between theintegrated design environment 120 or administration tool 160 andbusiness platform 130. As a result, the integrated design environment120 can operate as a swing application, capable of configuring multiplebusiness platforms, without requiring integrated design environment 120to be in communication with the business platforms/servers duringconfiguration.

[0022] Referring to FIG. 1, client 150 is a software component thatrequests services provided by application 145. Content provided byapplication 135 can be displayed to client 150 in a portal-styledisplay. Such a display can employ multiple portal pages and portlets.

[0023]FIG. 2 illustrates a sample screen shot of an applicationdisplayed to a client in a portal-style presentation. Portals arepowerful Web sites can give users a single point of access toapplications and information in a unified interface. A portal lets usersview each application in its own window, called a portlet, and a singlebrowser window can contain multiple portlets. For example FIG. 2illustrates a portal page containing portlets for logging in, searching,displaying news feeds, and managing appointments with a calendarapplication.

[0024] Portals can provide access to information networks and/or sets ofservices through the World Wide Web or other computer networks. Thesenetworks can range from broad interconnections of computing systems suchas the Internet to localized area networks including a few computerslocated in close geographic proximity such as a home or office. Portalapplications can include web application views designed as a portal.

[0025] Portlets can be implemented as java server pages (JSPs)referenced by XML-based metadata of the portal descriptor. Portlets canutilize various types of display code to display highly focusedinformation directed to a specific user or user group, having a portalas its container. Portlets can be comprised of portlet components whichinclude portlet attributes (i.e. whether the portlet is editable,floatable, minimizable, maximizable, helpable, mandatory, has defaultsminimized, or whether login is required) and portlet layout elements orcomponents (i.e. banner, header, content, and footer sections). In oneembodiment, a portlet is defined by a file that contains a portlet'sXML-based metadata, which is created and edited by an integrated designenvironment 120 or administration tool 160. Portlets can also beassociated with portlet resource files including skeleton JSPs (one foreach portlet layout element) and image files saved to a local filesystem by portal designer 125 of integrated design environment 120. Inone embodiment, portlet resource files do not include the portletdefinition itself or a file implementing webflow.

[0026] Referring to FIG. 1, integrated design environment 120,administration tool 160, business platform 130, and client 150 cancommunicate over network 110. Moreover, communication between thecomponents of FIG. 1 can be performed using any of the applicable dataformats and/or protocols known in the art including, but not limited to:TCP/IP, XML, and/or SOAP. In the embodiment depicted in FIG. 1, softwarecomponents 120, 130, and 150 are illustrated as communicating overnetwork 110. In alternate embodiments, some or all of the components cancommunicate with each other directly (not shown), rather than overnetwork 110.

[0027] Portal Generation

[0028]FIG. 3A illustrates a flowchart of a method for creating a portletin accordance with one embodiment of the present invention. In step 310,a graphical user interface is launched. The graphical user interface canbe launched in response to a user selection. The graphical userinterface can be part of a portal designer, administration tool or othersoftware. The graphical user interface can expose all the portalresources available. The resources can be added to the portal,positioned and modified using the graphical user interface.

[0029] In step 320, portal configuration information is received fromuser inputs. In one embodiment, the graphical user interface is used toobtain portal configuration information from a user. The graphical userinterface can allow dragging and dropping of a representation of acomponent into a display to create portal configuration information. Therepresentation can be an icon, file folder or the like. The display canbe, for example, a design view or a hierarchical display. A design viewis a display that gives a graphical indication of all or a portion ofthe portal components in the portal or page. A hierarchical display,such as a document structure window, is a display that gives a graphicalindication of all or a portion of the portal components arrangedhierarchically. The representation can be dragged from a palette to thedisplay. A palette is a display of components for use with a portal. Forexample, the components can be portlets, pages, books or other elements.FIG. 4 illustrates a graphical user interface with a design view andpalettes of one embodiment of the present invention.

[0030] The graphical user interface can allow editing of the propertiesof a selected component using a property editor window. For example, theproperty editor window can be used to modify the title, theme, look andfeel and other elements of a component such as a book, page, or portlet.When the user clicks on a representation of a component in a display, acomponent can be selected. The portal description can be used to findfiles for component. These component files can be modified by theproperty editor window.

[0031] The configuration information can include position informationfor a component. For example, the position a portlet is dropped in adesign view may relate to the position the portlet will be in thedisplayed page. In one embodiment, the position information is grid orplaceholder location information for a page layout. The layout candefine cells. A placeholder can be placed into the cell in an order.Components such as portlets, can be dragged into the design view andplaced into a placeholder. The placeholder defines the positioning(up/down, left/right) of the portlets or other components. The layoutfor a page defines the positioning of the cells in a page and thus thepositioning of the placeholder groups of portlets or other components inthe page. The drag and drop operation can be used to put a portlet orother component in a specific book page, placeholder and position in theplaceholder.

[0032] The drag and drop functionality can be implemented in a number ofways. For example, Java 2 supports drag and drop functionality. In Java2, drag and drop functionality uses an underlying data-transfermechanism (java.awt.datatransfer) for use with a clipboard. Java 2defines several classes in package java.awt.dnd. for drag and dropoperations.

[0033] Looking again at FIG. 3, in step 330, a portal description, suchas a portal file and/or portal XML, is prepared. The portal descriptioncan be automatically updated upon a graphical user interface operation,such as a drag and drop operation. In one embodiment, the portal filecan include XML. The portal file can be used to construct the display,such as the design view and hierarchical display. Alternately, aninternal representation can be used construct the display and the portaldescription.

[0034] In step 340, a portal is built. In one embodiment, the portal isbuilt using the portal description. In one embodiment, the portal XMLpoints to the component files, templates, images and other resourcesused by the portal.

[0035]FIG. 3B illustrates a flowchart of a method for creating a portletin accordance with another embodiment of the present invention. In step350, a graphical user interface is launched.

[0036] In step 360, portal configuration information is received fromuser inputs. In one embodiment, the graphical user interface allows theselection of a representation of a component in a display. The selectioncan be done by clicking on a representation of the component in thedisplay. A property editor window allows the editing of the propertiesof a selected component. The component can be selected from displayedcomponents including portlets and pages. The displayed components canalso include the desktop, and books.

[0037] In step 370, a portal description, such as a portal file and/orportal XML, is prepared. In step 340, a portal is built. In oneembodiment, the portal is built using the portal description. In oneembodiment, the portal XML points to the component files, templates,images and other resources used by the portal.

[0038]FIG. 4 illustrates a graphical user interface for an exemplaryportal designer of one embodiment. Region 1 is an Application Window.The application window can be used to create, view, and edit portalfiles in portal application projects. The names of portal files end inportal. Region 2 is a design view. Regions 3 and 4 are palettes. Region3 is a palette for adding books and pages to the portal by draggingcomponents from the Palette window and dropping them onto the DesignView canvas. Region 4 is a Data Palette Window. The data palette windowallows the addition of portlets to the portal by dragging them from theData Palette window and dropping them onto the Design View canvas. Theportlets can be preexisting portlets or user designed portlets.

[0039] Region 5 is a Property Editor Window. The Property Editor Windowallows for the setting of properties for the currently selected portalcomponent, such as the portal look and feel. Users can select a portalcomponent by clicking on it in the Design View canvas or by selectingits name in the Document Structure window. In one embodiment, theProperty Editor Window will show selectable features for the currentlyselected component. The user can use the Property Editor Window toselect a feature such as the look and feel, theme or title to modify.Features such as a new “look and feel” or new theme can be selected froma predetermined list. In the example of FIG. 4, a desktop component isselected and the Property Editor Window allows the selection of a title,“look and feel”, shell, and presentation properties.

[0040] Region 6 is the Document Structure Window. The Document StructureWindow shows the hierarchical structure for the portal interface. In oneexample, a portal component can be selected in the Document Structurewindow by clicking on it. The portal component is then automaticallyselected in Design View and you can edit its properties in the PropertyEditor window. In the example of FIG. 4, the document structure windowis hidden behind the property editor window.

[0041]FIGS. 5A and 5B illustrate the use of a Portal Designer of oneembodiment of the present invention. Looking at the example of FIG. 5A,the user goes to data palette 502 and drags a representation of aportlet, such as the “login to portal” portlet icon 504, from the datapalette 502 into the design view 506. In this example, therepresentation of the “login to portal” portlet 504 is dragged into theplaceholder region 508.

[0042] The design view in this example shows a main book including thepages for “home”, “my work space” and “HR”. The current page beingdisplayed is the “home” page. Dragging and dropping the representationof portlet 504 into the placeholder 508 causes the design view 506 to beupdated as shown in FIG. 5B. The location that the representation of theportlet 504 is dropped in the placeholder 508 effects the positioning ofthe portlet in the display page. Since the icon 504 is dropped above theportlets in the placeholders, this is the position of the portlet in thedesign view. Alternately, if the portlet in this example would bedropped in between the “Yahoo search” portlet and the “Dev2Dev” portletthen the design view will show the “login to portal” portlet in thatmiddle position. In example of 5A and 5B, the portlets are arrangedup/down within a placeholder. The placeholders can also have left/rightpositioning of portlets, in which case the portlet design display andthe produced portal page will show this arrangement. The arrangement ofthe placeholders which the layout of a page can be controlled by thepage layout which can be selectable either at the property editor or bydragging and dropping the initial page lay out from a pallet. Othercomponents that can be dragged and dropped include portlets, pages andbooks.

[0043]FIGS. 6A and 6B illustrate the effects of dragging and dropping aportlet in the document structure view. As shown in FIG. 6A thecomponents of the document structure view correspond to the design viewshown in FIG. 5A. Additionally, the components correspond to the portalXML. The portal XML can be shown in a source view. As shown in FIG. 6B,when the “login to portal” portlet is added to the design view as shownin FIGS. 5A and 5B, the “login to portal” portlet is automatically addedto the document view and the XML for this portlet is automaticallyconstructed and added to the portal file.

[0044] In one embodiment, the component can be manipulated in thedocument structure display and the design view by dragging and droppingrepresentations of the components. The design view document structureview and portal file can be automatically updated as a result. FIGS. 7Aand 7B illustrate the addition of the “login to portal” portlet to thedisplayed page.

[0045] One embodiment of the present invention concerns the use of ahierarchical display in a graphical user interface for generating auser-configured portal. FIG. 8 is a flowchart of a method using ahierarchical display to facilitate the generation of portals inaccordance with an embodiment of the present invention. In step 810, ahierarchical display of a portal structure is produced. The hierarchicaldisplay can indicate components including portlets and pages. Thehierarchical display can be produced using the current portal XML. Instep 820, a representation of a component on the hierarchical displaycan be accessed. This can be done by clicking on the representation ofthe component in the hierarchical display. In step 830, the componentwhose representation is accessed can be manipulated. In step 840, anupdated portal file can be produced as a result of the manipulation.

[0046] The representations of components in the hierarchical display canbe accessed by clicking on the hierarchical display. The hierarchicaldisplay can include parent and child nodes, where child nodes can bemade visible by clicking on parent nodes. The manipulating can includemodifying at least one property of the component. The property can bemodified using a property editor display or by dragging and dropping amodification onto the representation. The manipulating can includemodifying the position of the component in the hierarchical display.This can be done by dragging and dropping the representation within thehierarchical display or from a design view. The hierarchical display canbe part of a graphical user interface for a portal designer. Thegraphical user interface can further include a design view, and paletteswith components to be dragged and dropped. The hierarchical display canbe a document structure view. A portal can be constructed in accordancewith the portal description.

[0047] Portal Components

[0048] A desktop is a user view of portal components that includes theportal header, footer, and body. The desktop is the top-level containerfor the portal components included in that specific view of the portal.The Look & Feel can operate at the desktop level. A Look & Feel can bemade up of two parts referenced by a single XML file: skins andskeletons. Skins can contain the graphics, styles, and JavaScript codethat determine the look of a desktop. Skeletons can control the physicalboundary rendering of all portal components. The different Look & Feelsfor a desktop can be selectable in the Property Editor Window. Portaladministrators and end users can also change a desktop's Look & Feel.Portal administrators can create new desktops.

[0049] The header and footer are areas above and below the main bodythat typically include personalized content, banner graphics, legalnotices, and related links. The desktop header and footer displaycontent outside the desktop's books, pages, and portlets (typicallyabove and below). A header/footer combination can be defined by a shell,which is an XML file that points to JSP or HTML files containing thecontent to display (colors, graphics, personalized content, and so on).The different shells for the desktop are selectable in the PropertyEditor window. Portal administrators and end users can also change adesktop's shell.

[0050] Books are high-level organizational framework and navigation toolfor the content and provide a mechanism for nesting pages and othercontent. The top-level book contains all sub-books, pages, and portlets.The top-level book defines the initial menu navigation style used forthe desktop. A different navigation style can be used for each sub-book.Navigation menu styles for books are selectable in the Property EditorWindow. Portal administrators and end users can change the navigationstyle for books. Designers can also apply themes to books. Themes areLook & Feel subsets that can make a book, page or portlet lookphysically different than the rest of the desktop. Portal administratorsand end users can also change themes.

[0051] Pages are organized collections of portlets and books whoseposition is determined by a layout. Pages and sub-books are thenavigable containers used for organizing portlets. Different navigationmenu styles can be applied to books. Themes can be applied to portlets,pages and books. Portal administrators and end users can changenavigation menus and themes. Portal administrators can also create newpages and books.

[0052] The layout determines the position of the portlets and books on apage using placeholders within a grid. Placeholders are individual cellsin the layout used to organize the portlets on a page. Layouts determinebook and portlet positioning on pages. Layouts which can be defined byan XML file, are divided into cells, or placeholders, in which portletsand books are placed. Different layouts for a page can be selectablefrom a Property Editor window. Portlets can be placed horizontally orvertically relative to each other in a placeholder. Portaladministrators and end users can change page layouts. Portlets arewindows in which present applications, information, and businessprocesses. Portal Rendering and Look and Feel Components are stylisticaspects of the desktop appearance.

[0053] Portlets are the containers that surface Web content andapplications in the desktops. Each portlet, can be a single XML filewith a portlet extension that references the content or application viewit will surface. Using the Portlet Designer and the Property Editorwindow, portlet preferences can be added and portlet modes (such as editand help) can be configured that add functionality to the portlets, allof which can be included in the portlet XML file. Portlets can be reusedmultiple times by creating new instances of the portlet. The content ofeach portlet instance can be automatically updated if the source portletfile changes, but each instance of a portlet can be configured in uniqueways (such as changing the titlebar label). Portal developers,administrators, and end users can apply themes to portlets.

[0054] Portal component can be selected in the Portal Designer, andproperties for the portal component can be selected in the PropertyEditor window. Most portal configuration in the development environmentcan occur in the Property Editor window. Changes can be automaticallywritten to the portal or portlet XML file. Portlets can be created usinga Portlet Designer. The portlet designer can allow for the graphicalconstruction of portlets by selecting or dragging and dropping features,such as enabling portlet deletion, maximize/minimize functionality, helpmode and the like.

[0055] The Document Structure window in the Portal Designer shows theparent/child relationships among portal components as they appear in theunderlying portal XML file, also shown in the figure. The XML can bebuilt automatically as the user operates in the Portal Designer. FIG. 6illustrates an example of portal XML for a section of a DocumentStructure window. The XML contains configuration attributes for theportal elements.

[0056] The Portal Designer can be used to assemble portal elements intoa portal, and to add programmatic functionality to portlets and toCreate, Edit, Delete, and Save portal elements such as Books, Pages andPortlets.

[0057] Within the Design View, placeholders can be clicked on to insertor remove portlets, rearrange portlets and view a simple mock-up of theportal being designed. The Application window exposes the constructionof the Web application that contains the portal(s), and all the JSPs andother elements used to customize and add functionality. These caninclude Java Page flows used to apply complex navigation to portlets.The PortalUI Controls include Books, Pages and Portlets that can bedragged onto a placeholder. Dynamic content can be previewed using theContent Preview palette.

[0058] Build results and debugger messages can be viewed. A Property SetDesigner can be used to set properties on any selected portal element.The Document Structure palette can be used to determine the hierarchicallocation of files within the portal desktop being edited. The ContentPreview palette can be used to review the results of content queriesagainst the current document repository. The Data Palette can expose thelist of currently available portlets that can be inserted into thecurrent portal in design view. In one embodiment, a number of designerscan be invoked from the Portal Designer such as a Property Set Designer(Use to edit Session Requests, Events, Catalog Structure objects.), aUser Segment Designer, a Portal Placeholder Designer, a CampaignDesigner, a Discount Designer and a Content Selector Designer.

[0059] Administration Tool and Local Tools

[0060] Portal administration can involve portal aggregation andmanagement using a Administration Portal. Portal administrators can usethe resources created by developers to assemble and modify portals andprepare them for production. As shown in FIG. 1, an administration webapplication 147 can be deployed in the business platform 130 andaccessed by an administrator. In one embodiment, a primary copy of theportal XML produced by the portal designer is obtained from the filesystem. A new portal XML representation is created for each new versionof the portal created using an administration tool or local tool.

[0061] An administrator can, for example, use development-createdresources such as desktops, pages, and portlets to construct a newportal. Administrators can also create new portals and portal resourcessuch as desktops, books, pages, and portlets. A component-basedframework allows administrators to set up delegated administration anddefine visitor entitlements that determine which users can administerand view specific portal components and content. Administrators also addand manage the users that developers will target with their applications

[0062] Portal administration can also involve other important tasksnecessary to support the development environment. For example, anadministrator can configure content repositories in a Virtual ContentRepository so that a developer can construct a query for a contentselector, placeholder, or campaign.

[0063]FIG. 9 shows an exemplary Administration portal. Notice that thedesktop structure in the left resource tree matches that of thestructure created in the Portal Designer, as shown in the DocumentStructure window of FIG. 5B.

[0064] In addition to administration tools, user tools can be used. Theuser tools can allow users or sub-administrators to modify the portalssimilar to the administrative portal. The administrative portal canselect what elements of the portal can be modified by the user orsub-administrator. The user or sub-administrator can then set up theportal to their liking within the limits set by the administrator. Theadministration and user tools can have any or all of the functionalityof the portlet designer.

[0065] One embodiment may be implemented using a conventional generalpurpose or a specialized digital computer or microprocessor(s)programmed according to the teachings of the present disclosure, as willbe apparent to those skilled in the computer art. Appropriate softwarecoding can readily be prepared by skilled programmers based on theteachings of the present disclosure, as will be apparent to thoseskilled in the software art. The invention may also be implemented bythe preparation of integrated circuits or by interconnecting anappropriate network of conventional component circuits, as will bereadily apparent to those skilled in the art.

[0066] One embodiment includes a computer program product which is astorage medium (media) having instructions stored thereon/in which canbe used to program a computer to perform any of the features presentedherein. The storage medium can include, but is not limited to, any typeof disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, Rams, EPROM's, EPROM's, Drams,Rams, flash memory devices, magnetic or optical cards, Nan systems(including molecular memory ICs), or any type of media or devicesuitable for storing instructions and/or data.

[0067] Stored on any one of the computer readable medium (media), thepresent invention includes software for controlling both the hardware ofthe general purpose/specialized computer or microprocessor, and forenabling the computer or microprocessor to interact with a human user orother mechanism utilizing the results of the present invention. Suchsoftware may include, but is not limited to, device drivers, operatingsystems, execution environments/containers, and user applications.

[0068] The foregoing description of preferred embodiments of the presentinvention has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Many modifications andvariations will be apparent to one of ordinary skill in the relevantarts. For example, steps performed in the embodiments of the inventiondisclosed can be performed in alternate orders, certain steps can beomitted, and additional steps can be added. The embodiments were chosenand described in order to best explain the principles of the inventionand its practical application, thereby enabling others skilled in theart to understand the invention for various embodiments and with variousmodifications that are suited to the particular use contemplated. It isintended that the scope of the invention be defined by the claims andtheir equivalence.

What is claimed is:
 1. A method for generating a user-configured portal,comprising: using a graphical user interface to obtain portalconfiguration information from a user, the graphical user interfaceallowing the selection of a component with a display and allowing theediting of the properties of a selected component using a propertyeditor window, the component selected from dislayed components includingportlets and pages; and preparing a portal description in accordancewith the configuration information, wherein the portal description canbe used to generate the portal.
 2. The method of claim 1, wherein theproperty editor window can be used to change the look and feel of thecomponent.
 3. The method of claim 1, wherein the property editor windowcan be used to change the theme of the component.
 4. The method of claim1, wherein the property editor window can be used to change the title ofthe component.
 5. The method of claim 1, wherein the portal descriptionis a portal file.
 6. The method of claim 1, wherein the portaldescription includes portal XML.
 7. The method of claim 6, wherein theportal XML is stored in a database.
 8. The method of claim 1, whereinthe graphical user interface is part of a portal designer.
 9. The methodof claim 1, wherein the graphical user interface is part of anadministration tool.
 10. The method of claim 1, wherein the display is adesign view.
 11. The method of claim 10, wherein a hierarchical windowis automatically updated to correspond to the design view.
 12. Themethod of claim 10, wherein the portal description is automaticallyupdated to correspond to the design view.
 13. The method of claim 1,wherein the display is a hierarchical display window.
 14. The method ofclaim 13, wherein the representations of components in the hierarchicaldisplay can be accessed by clicking on the hierarchical display.
 15. Themethod of claim 14, wherein the hierarchical display includes parent andchild nodes.
 16. The method of claim 1, wherein the component is aportlet.
 17. The method of claim 1, wherein the component is a page. 18.The method of claim 1, further comprising: deploying the portal.
 19. Themethod of claim 1, wherein the portal description is used to produce thedisplay.
 20. Computer software, capable of: receiving portalconfiguration information from a user through a graphical userinterface, the graphical user interface allowing the selection of acomponent represented in a display and allowing the editing of theproperties of a selected component using a property editor window, thecomponent selected from displayed components including portlets andpages; and preparing a portal description in accordance with theconfiguration information, wherein the portal description can be used togenerate the portal.
 21. The computer software of claim 20, wherein theproperty editor window can be used to change the look and feel of thecomponent.
 22. The computer software of claim 20, wherein the propertyeditor window can be used to change the theme of the component.
 23. Thecomputer software of claim 20, wherein the property editor window can beused to change the title of the component.
 24. The computer software ofclaim 20, wherein the portal description is a portal file.
 25. Thecomputer software of claim 20, wherein the portal description includesportal XML.
 26. The computer software of claim 25, wherein the portalXML is stored in a database.
 27. The computer software of claim 20,wherein the graphical user interface is part of a portal designer. 28.The computer software of claim 20, wherein the graphical user interfaceis part of an administration tool.
 29. The computer software of claim20, wherein the display is a design view.
 30. The computer software ofclaim 29, wherein a hierarchical window is automatically updated tocorrespond to the design view.
 31. The computer software of claim 29,wherein the portal description is automatically updated to correspond tothe design view.
 32. The computer software of claim 20, wherein thedisplay is a hierarchical display window.
 33. The computer software ofclaim 32, wherein the representations of components in the hierarchicaldisplay can be accessed by clicking on the hierarchical display.
 34. Thecomputer software of claim 33, wherein the hierarchical display includesparent and child nodes.
 35. The computer software of claim 20, whereinthe component is a portlet.
 36. The computer software of claim 20,wherein the component is a page.
 37. The computer software of claim 20,further comprising: deploying the portal.
 38. The computer software ofclaim 20, wherein the portal description is used to produce the display.39. A method for generating a user-configured portal, comprising: usinga graphical user interface to obtain portal configuration informationfrom a user, the graphical user interface allowing the dragging anddropping of a representation of a component into a display to createportal configuration information, and the graphical user interface alsoallowing editing of the properties of the component using a propertyeditor window; preparing a portal description in accordance with theconfiguration information, wherein the portal description can be used togenerate the portal.
 40. The method of claim 39, wherein the portaldescription is a portal file.
 41. The method of claim 39, wherein theportal description includes portal XML.
 42. The method of claim 41,wherein the portal XML is stored in a database.
 43. The method of claim39, wherein the graphical user interface is part of a portal designer.44. The method of claim 39, wherein the graphical user interface is partof an administration tool.
 45. The method of claim 39, wherein thedisplay is a design view.
 46. The method of claim 39, wherein ahierarchical window is automatically updated to correspond to the designview.
 47. The method of claim 45, wherein the portal description isautomatically updated to correspond to the design view.
 48. The methodof claim 39, wherein the display is a hierarchical display window. 49.The method of claim 48, wherein the representations of components in thehierarchical display can be accessed by clicking on the hierarchicaldisplay.
 50. The method of claim 49, wherein the hierarchical displayincludes parent and child nodes.
 51. The method of claim 39, wherein thecomponent is a portlet.
 52. The method of claim 39, wherein thecomponent is a page.
 53. The method of claim 39, wherein the componentis a book.
 54. The method of claim 39, wherein the configurationinformation includes position information for the component.
 55. Themethod of claim 54, wherein the configuration information includesposition information for a position within a page.
 56. The method ofclaim 54, wherein the information is grid location information.
 57. Themethod of claim 54, wherein the information is position within aplaceholder.
 58. The method of claim 39, further comprising: deployingthe portal.
 59. The method of claim 39, wherein the portal descriptionis used to produce the display.
 60. Computer software, capable of:receiving portal configuration information from a user through agraphical user interface, the graphical user interface allowing thedragging and dropping of a representation of a component into a displayto create portal configuration information, and the graphical userinterface also allowing editing of the properties of the component usinga property editor window; and preparing a portal description, the portaldescription prepared in accordance with the configuration information,wherein the portal description can be used to generate the portal. 61.The computer software of claim 60, wherein the portal description is aportal file.
 62. The computer software of claim 60, wherein the portaldescription includes portal XML.
 63. The computer software of claim 62,wherein the portal XML is stored in a database.
 64. The computersoftware of claim 60, wherein the graphical user interface is part of aportal designer.
 65. The computer software of claim 60, wherein thegraphical user interface is part of an administration tool.
 66. Thecomputer software of claim 60, wherein the display is a design view. 67.The computer software of claim 66, wherein a hierarchical window isautomatically updated to correspond to the design view.
 68. The computersoftware of claim 66, wherein the portal description is automaticallyupdated to correspond to the design view.
 69. The computer software ofclaim 60, wherein the display is a hierarchical display window.
 70. Thecomputer software of claim 69, wherein the representations of componentsin the hierarchical display can be accessed by clicking on thehierarchical display.
 71. The computer software of claim 70, wherein thehierarchical display includes parent and child nodes.
 72. The computersoftware of claim 60, wherein the component is a portlet.
 73. Thecomputer software of claim 60, wherein the component is a page.
 74. Thecomputer software of claim 60, wherein the component is a book.
 75. Thecomputer software of claim 60, wherein the configuration informationincludes position information for the component.
 76. The computersoftware of claim 75, wherein the configuration information includesposition information for a position within a page.
 77. The computersoftware of claim 75, wherein the information is grid locationinformation.
 78. The computer software of claim 75, wherein theinformation is position within a placeholder.
 79. The computer softwareof claim 60, further comprising: deploying the portal.
 80. The computersoftware of claim 60, wherein the portal description is used to producethe display.
 81. A method for generating a user-configured portal,comprising: producing a hierarchical display of a portal structure, thehierarchical display indicating components including portlets and pages;accessing a representation of a component on the hierarchical display;manipulating the component whose representation is accessed; andupdating a portal description as a result of the manipulation, whereinthe portal description can be used to generate the portal..
 82. Themethod of claim 81, wherein the portal description is a portal file. 83.The method of claim 81, wherein the graphical user interface is part ofa administration tool.
 84. The method of claim 81, wherein the graphicaluser interface is part of a portal designer.
 85. The method of claim 81,wherein the portal description includes portal XML.
 86. The method ofclaim 85, wherein the portal XML is stored in a database.
 87. The methodof claim 81, wherein the graphical user interface is part of aadministration tool.
 88. The method of claim 81, wherein the graphicaluser interface is part of a portal designer.
 89. The method of claim 81,wherein the representations of components in the hierarchical displaycan be accessed by clicking on the hierarchical display.
 90. The methodof claim 81, wherein the hierarchical display includes parent and childnodes.
 91. The method of claim 90, wherein child nodes can be madevisible by clicking on parent nodes.
 92. The method of claim 81, whereinthe manipulating includes modifying at least one property of thecomponent.
 93. The method of claim 92, wherein the property is modifiedusing a property editor display.
 94. The method of claim 81, wherein themanipulating includes modifying the position of the component in thehierarchical display.
 95. The method of claim 81, wherein themanipulating includes dragging and dropping a representation of acomponent.
 96. The method of claim 81, wherein the hierarchical displayis part of a graphical user interface for a portal designer.
 97. Themethod of claim 96, wherein the graphical user interface furtherincludes a design view.
 98. The method of claim 96, wherein thegraphical user interface further includes palettes with components to bedrag and dropped.
 99. The method of claim 81, wherein the hierarchicaldisplay is a document structure view.
 100. The method of claim 81,further comprising generating a portal in accordance with the portalfile.
 101. Computer software, capable of performing the steps: producinga hierarchical display of a portal structure, the hierarchical displayindicating components including portlets and pages, the hierarchicaldisplay allowing for accessing a representation of a component in thehierarchical display; receiving instructions to manipulate the componentwhose representation is accessed; and updating a portal description as aresult of the manipulation, wherein the portal description can be usedto generate the portal.
 102. The computer software of claim 101, whereinthe portal description is a portal file.
 103. The computer software ofclaim 101, wherein the graphical user interface is part of aadministration tool.
 104. The computer software of claim 101, whereinthe graphical user interface is part of a portal designer.
 105. Thecomputer software of claim 101, wherein the portal description includesportal XML.
 106. The computer software of claim 105, wherein the portalXML is stored in a database.
 107. The computer software of claim 101,wherein the graphical user interface is part of a administration tool.108. The computer software of claim 101, wherein the graphical userinterface is part of a portal designer.
 109. The computer software ofclaim 101, wherein the representations of components in the hierarchicaldisplay can be accessed by clicking on the hierarchical display. 110.The computer software of claim 101, wherein the hierarchical displayincludes parent and child nodes.
 111. The computer software of claim110, wherein child nodes can be made visible by clicking on parentnodes.
 112. The computer software of claim 101, wherein the manipulatingincludes modifying at least one property of the component.
 113. Thecomputer software of claim 112, wherein the property is modified using aproperty editor display.
 114. The computer software of claim 101,wherein the manipulating includes modifying the position of thecomponent in the hierarchical display.
 115. The computer software ofclaim 101, wherein the manipulating includes dragging and dropping arepresentation of a component.
 116. The computer software of claim 101,wherein the hierarchical display is part of a graphical user interfacefor a portal designer.
 117. The computer software of claim 116, whereinthe graphical user interface further includes a design view.
 118. Thecomputer software of claim 116, wherein the graphical user interfacefurther includes palettes with components to be drag and dropped. 119.The computer software of claim 101, wherein the hierarchical display isa document structure view.
 120. The computer software of claim 101,further comprising generating a portal in accordance with the portalfile.